<template>
    <div class="sdy-history">
        <div v-if="historyList.length" class="history box">
            <div class="title">
                <span>最近搜索</span>
                <van-icon class="del" name="delete-o" @click="clearHandler"></van-icon>
            </div>
            <ul class="content">
                <li
                v-for="item in historyList"
                @click="clickHandler">{{ item}}</li>
            </ul>
        </div>
        <div class="hot box">
            <div class="title">
                <span>热门搜索</span>
                <span @click="isshow=!isshow">{{ isshow ? '隐藏' :'显示' }}</span>
            </div>
            <ul v-if="isshow" class="content">
                <li
                v-for="item in hotList"
                :key="item.wordid"
                @click="clickHandler"
                >{{item.keyword}}</li>
              
            </ul>
            <div v-else class="hid">
                已经隐藏搜索发现
            </div>
        </div>

    </div>

</template>

<script setup lang="ts">
import {ref ,onMounted} from 'vue'
import {useRouter , type Router} from 'vue-router'

//导入 请求 api
import { hotSearchApi } from '@/api/goodslist'
//导入对应 ts 的接口
import type {MyhotSearchItem} from '@/config/interface'
//准备一个变量， 控制 隐藏 和 显示 
const isshow = ref<boolean>(true)

const $router : Router= useRouter()

//需要一个数组保存历史记录
const historyList =ref(JSON.parse(window.localStorage.getItem('history' )as string) || [])



//按钮 点击的时候 跳转到分类页面
const clickHandler = (e: Event) =>{
    //拿到点击的数据
    const text = (e.target as HTMLElement).innerText  //定义一个 HTML 元素 文本
    // console.log(text)

    //需要跳转路由了’， 需要 携带 text 去到商品列表 页

    $router.push({ path:'/list', query:{search: text } })
  
}

//点击历史记录 边上的删除按钮

const clearHandler = () =>{
    //删除  localStorage  内 history 一项
    window.localStorage.removeItem('history')
    historyList.value = []
}


// 热门搜索相关
//准备一个变量保存热门搜索列表

const hotList = ref<MyhotSearchItem[]>([])

//挂载完毕以后请求数据
onMounted(async () => {
    const res = await hotSearchApi()
    // console.log(res)
    hotList.value =res.data
})

</script>


<style scoped lang="scss">

.sdy-history{
    height: 100%;
    box-sizing: border-box;
    padding: 15px;

    >.box {
        margin-bottom: 30px;

        >.title{
            display: flex;
            justify-content: space-between;


            >.del{
                font-size:20px;
            }




        }

        >ul{
            display: flex;
            flex-wrap: wrap;
            margin-top: 5px;



            >li{
                background-color: #c4c4c4;
                color:#fff;
                padding: 2px 3px;
                margin: 0 2px;
            }
        }

        >.hid{
            height: 100px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
    }
}
</style>